package com.dkd.day20250727;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;

public class Main40 {
    //A、B两个人玩抢7游戏，游戏规则为：
    //
    //A先报一个起始数字 X（10 ≤ 起始数字 ≤ 10000），B报下一个数字 Y （X - Y < 3），A再报一个数字 Z（Y - Z < 3），以此类推，直到其中一个抢到7，抢到7即为胜者；
    //
    //在B赢得比赛的情况下，一共有多少种组合？
    //
    //输入描述
    //起始数字 M
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        solve(m);

    }

    public static void solve(int m) {
        initfactor(m-7);

        int smallCount = m-7;
        int twoCount = 0;

        BigInteger ans =new BigInteger("0");

        while (smallCount >= 0) {
            if((smallCount+twoCount) % 2 != 0) {
                //
                ans = ans.add(getCount(smallCount,twoCount));
            }
            smallCount-=2;
            twoCount++;
        }

        System.out.println(ans);
    }

    public static void initfactor(int m) {
        factor = new BigInteger[m+1];
        factor[0] = new BigInteger("1");
        for (int i = 1; i <= m; i++) {
            factor[i] = factor[i-1].multiply(new BigInteger(""+i));
        }
    }

    public static BigInteger getCount(int oneCount, int twoCount) {
        if(oneCount==0 || twoCount==0) {
            return new BigInteger("1");
        }else{
            //排列数去重
            return factor[oneCount+twoCount].divide((factor[twoCount]).multiply(factor[oneCount]));
        }
    }

    static BigInteger[] factor;
}
